﻿/**
* @author        jime.zhu
* @date          2021-08-11
* @brief
*/

#ifndef SUB_FLOW_BLOCK_H
#define SUB_FLOW_BLOCK_H

#include <QObject>
#include <QMargins>

#include "AbstractBlock.h"
#include "FlowChart_Global.h"

namespace CVV
{

namespace FlowChart
{

/**
 * @brief 子流程
 */
class CVV_FLOWCHART_EXPORT SubFlowBlock : public AbstractBlock
{

public:
    explicit SubFlowBlock();
    explicit SubFlowBlock(const QString &name,
                          const QRect &position,
                          double zoom,
                          const QString &state,
                          const QMargins &margins = QMargins(0,0,0,0));
    ~SubFlowBlock();

    // AbstractBlock interface
public:
    /**
     * @brief paint 绘制bock 形状
     * @param canvas 画板
     * @param fontSizeInPoints 字体大小
     */
    void paint(QPainter *canvas);
    /**
     * @brief getBlockDom
     * @return 返回区域块Dom xml结构
     */
    static QString getBlockDom();
};
}
}
#endif // PROCESSBLOCK_H
